const { runLoaders } = require("loader-runner");
const path = require("path");
const fs = require("fs");

//接收两个参数，第一个参数是配置项，第二个参数是一个回调函数，
//回调函数的第一个参数是err,当我们loader内部发生错误的时候，可以查看到
//回调函数的第一个参数是result，是如果没有错误输出的结果
runLoaders(
  {
    //导入的资源路径，绝对路径
    resource: path.resolve(__dirname, "./src/index.js"),
    //loaders所在的位置,绝对路径，数组
    loaders: [path.resolve(__dirname, "./loaders/my-loader.js")],
    //context:loader执行时的上下文 this
    context: {
      minimize: true,
    },

    //readResource:在读取被转换文件的时候，需要以什么函数来进行读取
    readResource: fs.readFile.bind(fs),
  },
  (err, result) => {
    if (err) {
      console.log(err, "err in loader");
      return;
    }

    console.log(result, "result");
  }
);
